Nicola Salmoria (MC6489@mclink.it) and Mirko Buffoni for being the coordinators of the MAME project.
David Caldwell (david@indigita.com) for doing MacMultiPac, MAME's predecessor and the Jr. Pac-Man driver
Andrew McCarty (andros@andros.seanet.com) for the cool icons.
"Steve" at Apple for the fast blitting code in earlier versions
Ernesto Corvi provided earlier versions of the sound code used by many games.
John Stiles and Richard Bannister for constant programming tips, code donation, & general help and support.
Michael R. Simmons (macguitar@aol.com), beta-tester extraordinaire for finding the bugs.
Y. Nemoto, author of MacMoon for providing competition and general encouragement.
David Wareing for the PPC Control Strip hiding code.
Dave Warker, for finding some bugs in the Mac code that caused crashes under MacOS 8.
Evan Olcott (eolcott@triplo.com) for the front-end code.
Phil Stroffolino (phil@maya.com) for the save/restore code
Raul (raul@silva.com) for the "About" dialog picture.
Dave Marli, for his arcade emulator high score page and a ton of other stuff.
Thanks go out to everyone for their fine work! The MacMAME homepage can be found at http://www.primenet.com/~bradman/mame
There is a German version of MacMAME. It can be found at
http://www.h-o-c.com
There is a Swedish version of MacMAME. It can be found at
http://www.emulation.net on the MacMAME page.
ROMs can be found at
http://www.davesclassics.com
This program costs nothing and I expect nothing for it. However, I'd be more than happy to accept donations. If you'd like to contribute something, here's a list of things you can do:
* Donate $10 to your favorite charity
* write a MAME module for your favorite arcade game
* send me a postcard
If you'd like to send me something, my address is:
Brad Oliver
202 E Baseline #372
Tempe AZ 85283
What is MacMAME?
In a nutshell, MAME attempts to emulate as closely as possible the original hardware of the early eighties arcade games. As we discover how a game works, support for it is added to the emulator. This is happening at a rapid pace, so be sure to check back often for the latest release of MAME.
To run the games, you need the ROM images, in a package that MacMAME understands. MacMAME looks for ROM files in a folder called "Roms" that resides in the same directory as the application. It currently supports 3 different styles of ROMs - .zip files (common on PC sites), folders with small ROM dumps in them, and the "Super ROM" file which encapsulates the folder ROMs into one file. A program called MAME Converter can be found on the MacMAME homepage (http://www.primenet.com/~bradman/mame/macmame.html). You can use it to make MacMAME ROM image files from those on the net.
For a complete list of acknowledgements, please check the file 'readme.txt' that is in the Documentation folder -- it contains the instructions, thank-you's and info for the current MAME release.
The source code is freely distributed so if you see any bugs or areas of improvement in these modules, please let us know!
If you are interested in programming emulations, you must check out the emulation programming repository at: http://www.dct.com/~mhalse/EmuProgramming
How do I play MacMAME?
You can find the complete documentation on how to use it at this URL:
http://www.primenet.com/~bradman/mame/guide.html
Here's a quick breakdown of the keys:
3 - insert a Quarter
1 & 2 - 1 and 2 player start
ESC - Pause
TAB - access configuration menu
F3 - reset the emulated machine
F4 - show the charsets. Use the arrows to navigate through the various combinations, ESC to return to the game
F8 - cycle through frameskip options
F9 - cycle through the volume levels
F10 - toggle speed throttling
F11 - toggle FPS
F12 - save a screenshot
The keys may be configured for each game. Press TAB to get to the configuration menu to change the key settings and also view the key settings for each game. Most games use the arrows to move and control to fire.
The interlaced video option only affects 2x2 window sizes that fit entirely onto the screen or when you've hidden the desktop. For best results, use a resolution of 800x600 or higher with the 2x2 option. MacMAME will always force the display to 1x1 if it won't fit on a 640x480 screen, regardless of what you pick. You may switch it back to 2x2 once you've started the game if you really want, but lines will be missing off the bottom of the screen.
The 'Sound Samples' folder contains subfolders with samples from games. These are distributed in separate archives, available from my MacMAME page. The proper folder names for the sound samples (for those games that support it) are listed in the file 'readme.txt' next to each supported game.
Common Questions
Q: When I start a game, it says that the file "xxx" could not be opened! What's wrong?
A: MacMAME is looking for a specific ROM file for that game but it did not find it. Look around on the net for arcade game ROM archives and you're sure to find the proper files. Some games are harder to find than others though.
Q: I downloaded ROMs for "xxx" but it doesn't show up in the list. What's wrong?
A: Check the file "readme.txt" to see if that game is actually supported. MacMAME won't work with every arcade game - it needs to be written to specifically support games. It's also conceivable you've downloaded a set which is named improperly. Try looking around and you'll find a decent set somewhere else.
Q: MacMAME says game "xxx" is not supported, but it used to work! What happened?
A: MacMAME needs to know the driver name for each game. It looks for this information either in the ROM file made by MAME Converter or it uses the folder name of the ROM set in the ROMs folder. Most likely, the ROM driver name was changed for the current release so the old name is no longer recognized. The solution is to rename the folder of ROMs and create a new ROM file with MAME Converter - you can find a listing of the driver names in the file "readme.txt" in the Documentation folder.
Q: How do I get the sound samples to work?
A: Download the sound samples from the internet and place the .zip file in the Sound Samples folder. This new zip file must match the "driver" name for the game you are playing or MacMAME won't be able to find them. The "driver" names are listed in the file "readme.txt" in the Documentation folder.
Q: I've downloaded the sound samples, renamed the file properly, but still no sound! What is wrong?
A: MacMAME doesn't support sound samples for every game - check "readme.txt" to see which games use sound samples and which don't.
Q: Where is the music in Bubble Bobble and some others?
A: Not here yet. Maybe in a future version of MacMAME. The YM-3812 sound chip isn't emulated on the Mac yet. The PC source leeches off the soundblaster card, which uses nearly the same chip.
Q: Where can I talk about MAME on the internet?
A: If you use IRC, there is a MAME channel at #mamegames. Look for me as "hoserama". If Usenet news is your thing, try comp.emulators.misc or alt.emulators.classic-arcade. Additionally, there's a nice, web-based message board dedicated to MAME at http://www.davesclassics.com
Q: What happened to support for non-PowerMacs?
A: It was dropped because it was getting harder to maintain the code to handle it. Now that it's gone, several PowerPC-specific speedups have been implemented to take full advantage of the chip's speed.
Wanted:
• If you have technical details of how an arcade machine works that you'd like to see, feel free to write a driver for it! We'd be more than happy to include it in the next MAME distribution.
Known Mac-specific Issues:
• Games which use the YM-3812 for sound are silent on the Mac. The PC version pumps this data directly to the SoundBlaster card, which uses the same chipset. What a bunch of cheaters.
Technical Details:
The emulator engine is based on Z80, 6502, 8035/39/48, 8088/8086, 6809, 6800/3/8, 6805, 68000 processors. Some games use AY-3-8910, Pokey, YM2151 and YM2203 sound chips. Generic frameworks for all these can be found in the source code distribuion of MacMAME, which is on my web page.